package com.chenglu.android.couponcenter.mvp.contract;



import com.chenglu.android.common.base.BaseView;
import com.chenglu.android.goodsinfo.bean.ShopCouponPage;
import com.chenglu.android.index.bean.TabTitleBean;
import com.chenglu.android.mine.bean.CommonDataBean;
import com.chenglu.android.mine.bean.CouponBean;

import java.util.Map;

import io.reactivex.rxjava3.core.Observable;

/**
 * @author: lyj
 * @Created by Copyright 2023/3/2 Guangzhou Hongma Technology Co., Ltd. All rights reserved.
 */
public interface CouponCenterContract {

    /**
     * @description model
     */

    public interface CouponCenterModel {


        Observable<CouponBean> getCouponList(String token, Map<String, String> map);

        Observable<ShopCouponPage> getShopCouponPage(String token, Map<String, String> map);

        Observable<CommonDataBean> getShopCouponreceive(String token, String id);

        Observable<TabTitleBean> getTabTitle();

    }


    /**
     * @description view
     */

    interface View extends BaseView {
        @Override
        void showLoading();

        @Override
        void dismissLoading();

        @Override
        void onEmpty(Object tag);

        @Override
        void onError(String errMessage);

        void getCouponListSuccess(CouponBean bean);

        void getShopCouponPage(ShopCouponPage bean);

        void getShopCouponreceive(CommonDataBean bean);

        void getTabTitle(TabTitleBean bean);
    }

    /**
     * @description presenter
     */

    interface CouponCenterPresenter {

        void getCouponList(String token, Map<String, String> map);

        void getShopCouponPage(String token, Map<String, String> map);

        void getShopCouponreceive(String token, String id);

        void getTabTitle();

    }
}